A bar code is a representation of data, such as, for instance, an optical machine-readable representation of data. For example, a bar code can represent data using a number of parallel lines and/or the spacing between the lines. Such a bar code can be referred to as a one-dimensional bar code.
As an additional example, a bar code can represent data using a number of geometrical shapes and/or patterns, such as, for instance, squares, dots, and/or hexagons, among other geometrical shapes and/or patterns. Such a bar code can be referred to as a two-dimensional bar code.
A bar code can be used to represent data associated with an object, among other uses. For example, a bar code representing data associated with an object can be placed on the object (e.g., on the packaging or container of the object). The bar code can then be used to recognize and/or track the object in a retail and/or shipping environment, for example.
A bar code reader can be used to read a bar code (e.g., to recognize the bar code and/or identify the data represented by the bar code). Reading a bar code can include, for example, creating and/or capturing an image of the bar code.
In some instances, however, a bar code reader may fail (e.g., the bar code reader may not be able to read the bar code), and the bar code may have to be re-read (e.g., the image of the bar code may need to be re-created and/or re-captured). Having to re-read the bar code can interrupt the workflow of a retail and/or shipping environment, which can be time-consuming and/or costly.
A failed bar code reading may be caused by, for example, motion blur. Motion blur can occur, for instance, if the bar code (e.g., the object on which the bar code is placed) is in motion while the bar code is read by the bar code reader. For example, if the bar code is in motion while the bar code is read, the image of the bar code may include motion blur, which can render the bar code unreadable.
In some previous approaches, a bar code reading failure due to motion blur can be prevented by estimating and/or determining the motion blur (e.g., the amount and/or point spread function of the motion blur) in the image of the bar code. The image of the bar code can be deblurred based on the estimated and/or determined motion blur, and the deblurred image of the bar code can then be read. However, estimating and/or determining the motion blur in an image of a bar code can be difficult, time-consuming, and/or costly.